/*
   Copyright 2010 Abdulla Abdurakhmanov (abdulla@latestbit.com)
   Original sources are available at www.latestbit.com

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
*/
package org.latestbit.smartobjects.perftests.client;

import org.lineargs.*;

public class CommandLineOptions {
	@Option ( name="--location", shortName="-l", description="Location address(es)", isOptional=true)
	private String location = "tcp://localhost:3333";
	
	@Option ( name="--sync-mode", shortName="-s", description="Sync mode", isOptional=true)
	private Boolean syncMode = false;

	@Option ( name="--async-mode", shortName="-a", description="Async mode", isOptional=true)
	private Boolean asyncMode = false;
	
	@Option ( name="--threads", shortName="-t", description="Threads count", isOptional=true)
	private Integer threadsCount = 1;
	
	@Option ( name="--array-size", shortName="-sz", description="Array size", isOptional=true)
	private Integer arraySize = 5;
	
	@Option ( name="--delay", shortName="-d", description="Send delay per thread", isOptional=true)
	private Integer delay;
	
		
	public void setLocation(String location) {
		this.location = location;
	}

	public String getLocation() {
		return location;
	}

	public void setSyncMode(Boolean syncMode) {
		this.syncMode = syncMode;
	}

	public Boolean isSyncMode() {
		return syncMode;
	}

	public void setAsyncMode(Boolean asyncMode) {
		this.asyncMode = asyncMode;
	}

	public Boolean isAsyncMode() {
		return asyncMode;
	}

	public void setThreadsCount(Integer threadsCount) {
		this.threadsCount = threadsCount;
	}

	public Integer getThreadsCount() {
		return threadsCount;
	}

	public void setArraySize(Integer arraySize) {
		this.arraySize = arraySize;
	}

	public Integer getArraySize() {
		return arraySize;
	}

	public void setDelay(Integer delay) {
		this.delay = delay;
	}

	public Integer getDelay() {
		return delay;
	}
	
}
